//#include <stdio.h>
//#define MVNum 100                 
//typedef struct {
//    char vexs[MVNum];           
//    int arcs[MVNum][MVNum];     
//    int vexnum, arcnum;          
//}MGraph;
//void outdegree(MGraph G);
//void CreatMGraph(MGraph* G);
//int main()
//{
//    MGraph G;
//    CreatMGraph(&G);
//    outdegree(G);
//    return 0;
//}
//void CreatMGraph(MGraph* G)
//{
//    int i, j, k;
//    scanf("%d%d", &G->vexnum, &G->arcnum);
//    getchar();
//    for (i = 0; i < G->vexnum; i++)
//        scanf("%c", &G->vexs[i]);
//    for (i = 0; i < G->vexnum; i++)
//        for (j = 0; j < G->vexnum; j++)
//            G->arcs[i][j] = 0;
//    for (k = 0; k < G->arcnum; k++)
//    {
//        scanf("%d%d", &i, &j);
//        G->arcs[i][j] = 1;
//    }
//}
//void outdegree(MGraph G)
//{
//    for (int i = 0; i < G.vexnum; i++)
//    {
//        if (i == 0)
//        {
//            printf("%c:", G.vexs[i]);
//        }
//        else
//        {
//            printf("\n%c:", G.vexs[i]);
//        }
//        int n = 0;
//        for (int j = 0; j < G.arcnum; j++)
//        {
//            if (G.arcs[i][j] == 1)
//            {
//                n++;
//            }
//        }
//        printf("%d", n);
//    }
//}

//List Reverse(List L)
//{
//    Position Old_head, New_head, Temp;
//    New_head = NULL;
//    Old_head = L->Next;
//
//    while (Old_head) {
//        Temp = Old_head->Next;
//
//        New_head = Old_head
//            ;
//        New_head = Old_head;
//        Old_head = Temp;
//    }
//
//    L->New = New_head
//        ;
//    return L;
//}